14-3. 電子メ−ルの使い方 '96 (1) メ−ル読み書きの基本 * メ−ルを読む [ 自分のメ−ルボックスのメ−ルを読む ] % mail << UNIXの最もシンプルなメ−ルコマンド。MIME には ? n 次のを読む 対応してないので文章を読み書きするだけ。この mail ? ? ヘルプ コマンドは INDY の /usr/bin/mail。 メ−ルが一通も ? d 消去する 来てなければ No mail. と出るだけ。 [ 指定したメ−ルボックスからメ−ルを読む ] $ /usr/ucb/mail -v -f/usr/people/katou/mbox Mail version 5.2 6/21/85 (14). Type ? for help. "/usr/people/katou/mbox": 1 message > 1 katou Sat Jan 6 16:47 12/305 & 1 Message 1: From katou Sat Jan 6 16:47:14 1996 Date: Sat, 6 Jan 1996 16:47:13 +0900 From: katou To: katou@nix.co.jj oopopo & quit "/usr/people/katou/mbox" complete $ * メ−ルを書く [ 超基本 ] % mail katou heno heno mohe << ピリオドが終わりの印し。 中断する場合は Ctrl+C を . 2回入れるか、~q をいれる。~? でヘルプがでる。 [ メ−ルの記述をファイルからもってくる ] $ /usr/ucb/mail -v katou@nix.co.jj ~r data.eps "data.eps" 1462/27982 [ 今記述しているメ−ルの内容を表示する ] $ /usr/ucb/mail -v katou@nix.co.jj Subject: << メ−ルの表題を記入。~/.mailrc の設定で ask を記述 ddd していると Subject: を出してくる。 ddd ~p << これを入れると今まで書いたのが表示される。 ------- Message contains: ------------------------------------------- To: katou@nix.co.jj | -v は Verbose モ−ド、つまりおしゃべりモ| | −ドにするオプション。メ−ルを送る様子が| ddd | 出てくる。-v 無しだと黙って送る。 ちゃん| ddd | と送る作業をしているか確認するにはいい。| (continue) ------------------------------------------- [ 表題 Subject: を付けて、ファイルを取り込んでメ−ルを送る ] $ /usr/ucb/mail -s "renraku desu" katou < file $ /usr/ucb/mail -s HELLOW katou < file $ /bin/mail | file To: katou -------------------------- Subject: HELLOW |konnitiwa, katou kun desu. konnitiwa, katou kun desu. * メ−ルヘッダ−部について Subject: Re リタ−ンメ−ルの指示。送って来た相手にメ−ルを返す場 合に普通使う。ジャンクメ−ルなんかをそのまま送り返す 場合にも使える。 Reply-To: katou@nix.co.jj 自分用のメ−ルの設定をしてないコンピュ−タから、メ− ルを送る場合、送信者のメ−ルアドレスを記述する。また は From: でなく、返信用のメ−ルアドレスを指定する。 Cc: haru@nix.com a@aa.com カ−ボンコピ− Carbon Copy の略。 電子メ−ルの控えや 他の人にも知らせておきたい場合に使う。どこに送ったか 全部のメ−ルアドレスがメ−ルに付けられる。 Bcc: a@aa.com b@bb.com ブラインド・カ−ボンコピ−。メ−ルアドレスを変えます などと知人皆に知らせる場合に使う。他の人のメ−ルアド レスはメ−ルには付かない。 * メ−ルの差し出し人 /etc/passwd ---------------------------------------------------------- |hanako:password:102:100:Yamada Hanako:/usr/people/hanako: |htarou:password:103:100:日の丸太郎:/usr/people/htarou: ↑ |/etc/passwd のコメント部が From につくことに注意。 ↓ --------------------------------------- | From: 日の丸太郎 | 相手が受け取ったメ−ル | Date: Wed Sep 9. 6:13pm + 0900 | | To : katou@nix.co.jj | | Cc : | | Subject: test mail | |-------------------------------------| | Tarou desu. Konnitiwa. | --------------------------------------- メ−ルアドレスを容易に個人が特定できないようにつけたつもりが、/etc/passwd ファイ ルのコメント部に自分のフルネ−ムを入れてあると、自動的にメ−ルに書き込まれてしま う。これは sendmail.cf やメ−ルソフトの設定で変更できる。 Windows パソコンでは買 った最初の設定でユ−ザ名などを入れるが、それがメ−ルの差し出し人となってくる。と もかく、この部分の設定には注意した方がよい。 * コ−ド変換してメ−ルを送る Windows パソコンのメ−ルシステム、Internet Mail はEUCコ−ドの自動判別が苦手ら しい。EWSはEUCコ−ドのため、パソコンのユ−ザにメ−ルを送ると、文字が化けた りする。そこでコ−ドをシフトJISに変換して送る。 Apollo にはそのコ−ド変換コマ ンド euc2sj がある。反対の変換は sj2euc である。 $ catf file | /usr/ucb/mail -v katou << この2つ参考。 下は Apollo でEUCの $ euc2sj < file > file.sjis ファイルを シフトJISに変換する方法。 $ euc2sj < file | /bin/mail katou << これで変換してメ−ルを送る。 * こんなメ−ルソフトの使い方も `2b/01 メ−ルの送受信の Outlook Express の設定 [ツ−ル]->[アカウント] ----------------------------------------------------------------------------- |インタ−ネット アカウント | |---------------------------------------------------------------------------| | --------------------------------------- [ 追加 ] | | |すべて | メ−ル| ディレクトリサ−ビス| [ 削除 ] | | ------- ---------------------------------------------- [プロパティ] | | |アカウント 種類 接続 | | | | |----------------------------------------------------------| | |MAILSTORE-S メ−ル ロ−カルエリアネットワ−ク(LAN)| << 黒く選択した状 | |MAILSTORE-M メ−ル(規定) ロ−カルエリアネットワ−ク(LAN)| 態に見える、し | | | かしそれは関係 | ない?。 ------------------------------------------------------------------------ Outlook Express 主Mail-Store 副Mail-Store このように設定するとメ−ルの送 △ □ ■ 信は 主Mail-Store でやり、受信 | | | はどちらからも受けるようになる。 ------------------------------------ (2) メ−ルコマンドと到着チェック * 基本的な2つの mail コマンド $ /bin/mail katou << これらメ−ルのコマンドは互換性がある。 上をただの $ /usr/ucb/Mail katou << mail、下を ucb mail と区別する。ucb mail はバ−ク レ−大学が作ったもので、機能が豊富である。 * ucb mail の起動時のオプション /usr/lib/Mail.rc ~.mailrc << ユ−ザディレクトリにこれがあればこっちが優先。 /bsd4.3/usr/lib/Mail.rc << Apollo 最初の状態。 -------------------------------- |set append dot save |ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via /usr/lib/Mail.rc << INDY の最初の状態。ask は Subject: を聞いてくる。 ----------------------------- ちなみに askcc でカ−ボンコピ−の宛先を聞いてくる。 |set append dot save ask crt |ignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via |ignore x-mailer |set sign='Katou kun' << ~a でサインを挿入する。でも Apollo ではダメだった。 | |# Uncomment the following for BSD style of reply commands |#set Replyall * ucb mail の使い方 $ /bin/echo "1" | /usr/ucb/Mail -s "1 desu" katou $ /bin/echo "11" | /usr/ucb/Mail -s "11 desu" katou $ /usr/ucb/Mail Mail version 5.2 6/21/85 (14). Type ? for help. "/usr/spool/mail/katou": 2 messages 2 new >N 1 katou Mon Oct 21 15:02 11/256 "1 desu" << headers の h で次のリスト N 2 katou Mon Oct 21 15:02 11/258 "11 desu" が出る。z でも出て来る。 & n << メ−ルを見る。次の q で読んだメ−ルを消去して終わ & q << る。q でなく x を入れると、何もしなかったことにし Saved 1 message in mbox て終わる。d 1-2 とやると範囲指定でメ−ル消去する。 Held 1 message in /usr/spool/mail/katou ※ & z は次の23個をリストする。& z- で前の23個をリストする。以前、調べた時は 10個ずつリストしたと思ったが、改めて調べたらこの数だった。& h 40 とかしたら メ−ルのヘッダ−番号の40番から23個リストされる。 もしヘッダ−番号の40番 のメ−ルが消去されていたら、"40: Inappropriate message" と出てエラ−になる。 $ /usr/ucb/Mail Mail version 5.2 6/21/85 (14). Type ? for help. "/usr/spool/mail/katou": 1 message 1 unread >U 1 katou Mon Oct 21 15:02 12/268 "11 desu" & list << 使えるコマンドのリスト。 Commands are: next, alias, print, type, Type, Print, visual, top, touch, preserve, delete, dp, dt, undelete, unset, mail, mbox, more, page, More, Page, unread, Unread, new, New, !, copy, chdir, cd, save, source, set, shell, version, group, write, from, file, folder, folders, ?, z, headers, help, =, Reply, Respond, reply, respond, edit, echo, quit, list, local, xit, exit, size, hold, if, else, endif, alternates, ignore, discard, retain, core, #, clobber * どこからメ−ルが届いているか調べる $ which from << SunOS と Apollo にはあった。INDY にはなかった。 /usr/ucb/from $ from From tomo@nix.co.jj Wed Apr 9 13:19:20 1997 * メ−ルが来たかチェックする:C-shell 環境変数の mail を使う C-shell の環境変数の mail を使うと、メ−ルが届くと知らせるようにできる。ただし直 ちに知らせてくれるのでなく、何かコマンドを入れて、その時にメ−ルチェック時間であ れば、メ−ルが来てないかチェックし、来ていればメッセ−ジがでる。 この機能は biff や xbiff とは関係ない。下記は Apollo のメ−ルスプ−ル。INDY は /var/mail である。 $ set mail=/usr/spool/mail/katou << デフォルトは5分ぐらいの間隔である。 $ set mail=(60 /usr/spool/mail/katou) << これは60秒おきにチェックすること。 $ set argv () cwd /usr/people history 10 home /usr/people/katou mail (60 /usr/spool/mail/katou) << 環境変数にセットされている。 | $ ls file1 file2 You have new mail. << コマンド実行の後に知らせが入る。 $ ls file1 file2 << 新しいメ−ルが来るまで反応しない。 * メ−ルが来たかチェックする:comsat の biff を使う /etc/inetd.conf ----------------------------------------------------------- |# biff(comsat) offers notification of incoming SMTP mail. |biff dgram udp wait root /etc/comsat comsat --------------------------------------------- |New mail for katou@hostA has arrived: | メ−ルが来ると Apollo ではパッと |---- | ウィンドウが開いて、到着を知らせ |Date: Wed, 9 Apr 1997 16:00:42 +0900 | る。Sun にもこの機能はある。INDY |From: tomo@nix.co.jj (tomo) | の inetd.conf にはにないぞ。 | | |kekkon site | | | |---- | |*** Pad Closed *** | --------------------------------------------- * メ−ルが来たかチェックする:Xウィンドウの xbiff を使う xbiff はXウィンドウのちっちゃなアイコンみたいなもので、メ−ルが来ると、ややあっ てアイコンの中の旗が上がる。メ−ルを読むと旗は下がる。何を考えているのか知らんが 反応が鈍い。上記の biff とは関係ないと思われるが、両方 Apollo で設定してみたとこ ろ biff の方だけ反応して、xbiff は反応しなかった。xbiff を使うにはユ−ザのロッグ イン画面から xbiff とコマンドを入れればよい。 (3) 色々なメ−ルの機能 * メ−ルクライアントでのメ−ルの一斉配信 Microsoft Outlook でユ−ザ katou@nix.co.jj から複数の人にメ−ルを送る。メ−ルア ドレスの区切りはブランクはだめ、',' と ';' は試したら良かった。このやり方で社内 のユ−ザ、100人ぐらいに送る人が気が付いたら結構いた。PowerPoint なんかのサイ ズの大きいファイルをこれで送られると、メ−ルサ−バはちょっとばかり困る。`27/12 -------------------------------------- |宛先: satou@nix.co.jj, tarou@nnn.con 相手に届いたメ−ルで[表示]->[オプション] |------------------------------------- をやってヘッダ−を見ると、こんなようにな |Cc: っていた。自分宛にも送れば確認は容易だ。 |------------------- |件名: こんにちは From: |------------------- To:, |テストです Subject =?iso-2022-jp?B?GyRCJDMkcyRLJ... * メ−ルサ−バでのメ−ルの一斉配信 /etc/aliases ---------------------------- << メ−リングリスト的な使い方ができる。 メ−ルを |taro: taro@nix.co.jj minna に送ると taro@nix.co.jj, jiro@xxx.co.jp |minna: taro, jiro@xxx.co.jp に届く。カンマで区切ってアドレスを記入する。 * ユ−ザ用でのメ−ルの一斉配信 ~/.mailrc << ユ−ザのホ−ムディレクトリの .mailrc で設定。 ----------------------------- % mail staff とやると taro さんら3人に届く。 |alias staff taro,jiro,hanako * インタ−ネット上のメ−リングリスト インタ−ネット上には様々なメ−リングリストがある。会員ユ−ザだけのニュ−ス・シス テムみたいなものである。参加するには、 メ−リングリストの名前が discus@nix.co.jj なら普通 discus-request@nix.co.jj とメ−ルを送ることによる。 その他 Subject や本 文に入会希望に相当する文字を入れるとかしたやり方もある。メ−リングリストを開設し て運用するには、 ユ−ザの参加と脱退を自動的に処理する listserv とか majordomo と 言ったフリ−ソフトを使うらしい。 * オ−トレスポンダ− Subject に何々と一文を書いてとか、本文に何々書いてメ−ルを送れば、詳しい案内をメ −ルで送りますよと、一度は見たことがあるかと思う。電子メ−ルによる自動応答サ−ビ スである。どんな仕組みになっているのかず−と疑問だった。どうもメ−ルサ−バで、レ スポンダ−というプログラムが処理をしているらしい。mailagent というフリ−ソフトが いいらしい。majordomo も使えるらしいが、めんどうくさそう。 ↓ 特定のユ−ザ宛のメ−ルは、レスポンダ−に渡す。 ↓ 受け取ったメ−ルのヘッダ−から発信者を求める。 ↓ メ−ルに何がしか入れて送り返す。 * forward 機能 個々のユ−ザのメ−ル転送する設定である。sendmailが稼働しているUNIXのホストで 設定する。以下はホ−ムディレクトリは katou、 メ−ルアドレスは katou@nix.co.jj と する。メ−ルが外の ikken@tcp-ip.or.jj から katou@nix.co.jj に来たとする。 転送さ れるメ−ルの From アドレスは ikken@tcp-ip.or.jj のままである。これはSPAMチェ ックをするよう sendmail を設定する際に問題となる、覚えておくこと。 ~/.forward --------------------- katou 宛にきたメ−ルは、同じドメインの taro へ送る。 |taro ~/.forward --------------------- 転職したので katou@xxx.co.jp 宛に転送してくれ。 |katou@xxx.co.jp ~/.forward --------------------- 自分 katou もメ−ルを受けて、taro へも送っておく。 |\katou, taro ~/.forward --------------------- こういう記述でもよい。カンマで区切りのでなく改行して |\katou 列挙する。tomo@xxx.co.jp へもikken@tcp-ip.or.jj から |tomo@xxx.co.jp メ−ルが届くことになる。 * aliases のコマンド実行機能 /etc/aliases ----------------------------- |decode: "|/usr/bin/uudecode" << SunOS にあったコマンド。(有害、消すこと) |msgs: "|/usr/ucb/msgs -s" << Apollo にあったコマンド。 | |#taro: "| command -options" << コマンド実行の書式。taro 宛にメ−ルが届くと プログラムが実行する。 * vacation 機能 ~/.forward ファイルに vacation と言うプログラムを記述して使う。 電話の留守番メッ セ−ジと同じもんだと思えばよい。着信したメールに自動的に返信するメ−ルの機能であ る。.forward の設定にはファイルのパ−ミッションに注意すること。 簡単に設定できそ うで、はまる場合がある。プログラム vacation はUNIXマシンに最初から入っている。 自動返信する内容は、自分のホ−ムディレクトリの .vacation.msg に書いておく。 留守 中誰からメ−ルが来たかは、.vacation.pag と .vacation.dir に dbm 形式で記録される。 また同じ人に毎度、自動返信しないようになっている、デフォルトでは7日間である。 * メ−ルの開封確認の機能 `22/10 相手がメ−ルを見た時に、ちゃんと見ましたかという画面を相手のメ−ルソフトで出して、 見たというチェックすると、自分に確認メ−ルを送ってくるという機能である。メ−ルを 送る側で確認の要求を出す、受ける側で要求に応える機能がメ−ルソフトに備わっている 必要がある。仕組みとしては、要求を出す際メ−ルヘッダに、次のようなスクリプトを入 れることによる。"Disposition-Notification-To: かとう"。 来た メ−ルにこの項目があると、ああ開封確認を要求しているなと判断するのである。 手元のをざっと調べたところ Outlook Express と Mozilla には、両方の機能があったが、 他のメ−ルソフトでは要求に応えるのみだった。一応、それぞれのソフトで機能の互換性 はあるみたいである。Outlook Express から要求を出し、 Netscape でメ−ルを受けたと ころ、開封確認の画面が出てきた。しかしこの機能、普通は用いない方がいいだろう。返 事を強要するかのようで、あまり勧められた機能ではない。 | Outlook Netscape Becky! Mozilla Outlook Express 5.5 -----------|------------------------------------ Netscape Communicator 4.78 送信側:要求| ○ × × ○ Becky! Internet Mail Ver.2 受信側:応答| ○ ○ ○ ○ Mozilla 1.0 Outlook Express での要求を出す設定 [ツ−ル]->[オプション]->[確認メッセ−ジ] --------------------------------------------------------------------- |開封確認メッセ−ジの要求 | 受信者がメッセ−ジを開封したことを確認できます。 | 〆□送信するメッセ−ジすべてに対して、開封確認メッセ−ジを要求する << デフォル | トはチェ |開封確認メッセ−ジの返信 ックなし。 | ○開封確認メッセ−ジを送信しない | ●開封確認メッセ−ジの要求を通知する << デフォルト、このままでいい。 | ○開封確認メッセ−ジを送信する ( 以下条件あり ) * メ−ルの開封確認機能をテストする `22/10 左端の Windows の Outlook Express で、メ−ルの開封確認を試してみる。テストは基本 的には誰かから、開封確認要求のメ−ルを送ってもらう。あるいは自分宛にそのよにうに メ−ルを送ってもいい。例えば ikken@nix.co.jj 宛に送れば、テストはできる。 しかし ここでは個人で入っているプロバイダのメ−ル転送機能を用いて、Mail-Relayを通すよう にした。これは実はSPAM対策のため Mail-Relay の sendmail を新しいのにしたとこ ろ、開封確認をして相手に返っていくメ−ルが Mail-Relay でエラ−で止まるようになっ てしまった。そのための再現テストをしようとしたのである。 Windows 98 sendmail sendmail-8.12.5 □ qpopper DNS 東海インタ−ネット メ−ルサ−バ | nix.co.jj ------- ------- ----- ----------------|hostB|-----|hostA|------||------|TCP| ユ−ザ ikken@tcp-ip.or.jj ユ−ザ ------- ------- ----- 転送設定 ikken@nix.co.jj ikken Mail-Store Mail-Relay [ツ−ル]->[アカウント]->[メ−ル] の ikken の [プロパティ] で、電子メ−ルアドレス を ikken@tcp-ip.or.jj にする、一旦外に出て戻ってくるにはこれ肝心。受信アカウント を ikken とする。Mail-Store にはユ−ザ ikken を作り、POP3 アクセスできるようする。 これで ikken@tcp-ip.or.jj 宛にメ−ルを送る。TCP に行き転送されて戻ってくると、メ −ルソフトの画面に確認画面がでる。そこでチェックすると、 また TCP に行き戻ってき たのが下のメッセ−ジである。 -------------------------------------------------------- | 送信者:かとう 宛先:かとう §| << 添付ファイル。Dispos | 件名 :開封済み : test | ition: manual-action |------------------------------------------------------| /MDN-sent-manually; | 次のユ−ザ−に送信されたメッセ−ジの開封確認です: | displayed などと書か | :02/10/23 17:15 | れている。 | メッセ−ジが次の時間に開封されました :02/10/23 17:16 | -------------------------------------------------------- [ 問題 ] エラ−メ−ル "Postmaster notify: Data format error Mail Delivery Subsystem"、内 容は "Microsoft Outlook IMO, Build 9.0.xx, MAIL From:<@@nix.co.jj>, User address required" といったのが、sendmailを新しくしてから小生に届くようになった。どうやら IMO という Outlook が怪しいみたいである。Office 2000 に入っていた Outlook である。 インタ−ネットで似たような症例がないか調べてみた。数件見つかったものの、対策はな いようである。Outlook Express なら上記の通り問題はなかったので、変えるかである。 http://search.luky.org/linux-users.9/msg03079.html、Re:メ−ルの From 行について、 http://www.jp.qmail.org/immhf/senders.html、outlook98 でおかしい。 * メ−ルを残すことを考える `26/10 メ−ルを取りに行くのが POP3 サ−バだと、メ−ルをメ−ルサ−バに保存するのはちょっ と工夫がいる。基本的には IMAP4 か WebMail にするしかない。いや、そんなことないか。 メ−ルのクライアントでサ−バにメ−ルを残す、残さないの設定ができる。しかしこれだ とパソコンのメ−ルソフトで、つまりユ−ザの方で何とでもできてしまう。昨今の法律的 対応で証拠を残すという意味では、あまり有効とはいえない。それで POP3 のままでメ− ルをサ−バに残こすことを考える。メ−ルストアのホストの /etc/aliases でメ−ル保存 用にエントリを作るのである。これは簡単である。 "katou: katou, back_katou" と記述 する。メ−ルは通常の katou@nix.co.jj にも送り、back_katou@nix.co.jj にも送りこれ を別途保存するのである。back_katou というアカウントの登録がいる。 * 大きなお世話の Outlook `2b/09 不覚にも今の今まで気付かなかった。どうも来たメ−ルが残ってないけど、おかしいなあ と漠然とずっと思っていた。勝手に2ヶ月で受信メ−ルを消すようになっていた。 ---------------------------------------------------------------------------- |送信済みアイテム | |--------------------------------------------------------------------------| | ----------------------------------------- | ||全般 | ホ−ムペ−ジ | 古いアイテムの整理 | | ||--------------------- ------------------------------ | || 〆古いアイテムを整理する: [2 〓] [か月前 ▼] | | || ●古いアイテムを移動する: | | || [C:\Documents and Settings\ikken\Local Settings\Application Data\ | | || Microsoft\Outlook\archive.pst ] [参照] | | || ○古いアイテムを削除する | | || | | | ------------------------------------------------------------------------ | | [ OK ] [キャンセル] [ ] | ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- |個人用フォルダの検索 | |--------------------------------------------------------------------------| | 保存先 [ Outlook ▼] | |--------------------------------------------------------------------------| | | 名前 サイズ 種類 更新日時 | | 履歴 |-------------------------------------------------------------| | | archive.pst 127888 KB Ofiice Data File 2011/08/29 9:11 | |My Documents| outlook.pst 297024 KB Ofiice Data File 2011/09/08 10:45 | | | | |デスクトップ| | | | | | お気に入り | | なんかの時のため D:\ikken\受信メ−ル保存\ にコピ−しておく。archive.pst はコピ− できた。outlook.pst は貼り付けをしようとしたら、コピ−できません。プロセスはファ イルにアクセスできません。別のプロセスがファイルの一部をロックしています。と警告 がでた。それから "古いアイテムを整理する" の〆を外した。これでちゃんと残るか?。 * Outlook Express での受信メ−ルの項目 `2d/11 受信メ−ルの一覧に "差出人" がずっと表示されてなかった。誰から来たメ−ルなのか分 からなかった。何遍か "差出人" も出るようにならないか触ってみたが、よく分からずに ほかっていた。ようやく分かった。極めて分かりにくいところにメニュ−があった。 [表示]->[現在のビュ−]->[現在のビュ−の編集] ------------------------------------------------------- |ビュ−の設定 |------------------------------------------------------ | 内容 | [フィ−ルド] 重要度,アイコン,フラグ,...,差出人 | [ グル−プ ] | | | [ 自動書式 ] | | [ OK ][キャンセル] -------------------------------------------------------- (4) メ−ルのスプ−ルとキュ− * コマンド&制御ファイル | 種類 | Apollo INDY SunOS 4.1.x Sun Solaris 2.x --------|-------------|------------------------------------------------------- | mail/ | /usr/spool /var /var/spool /var 制御ファ| mqueue/ | /usr/spool /var/spool /var/spool /var/spool イル | sendmail.cf | /usr/lib /etc /etc /etc/mail | aliases | /usr/lib /etc /etc /etc/mail --------|-------------|------------------------------------------------------- | newaliases | /usr/ucb /usr/bsd /usr/ucb /usr/bin コマンド| Mail | /usr/ucb /usr/sbin /usr/ucb /usr/ucb | mail | /usr/ucb /usr/bin /usr/ucb /usr/sbin | sendmail | /usr/lib /usr/lib /usr/lib /usr/lib 注.sendmail 8.8.5、それ以降のバ−ジョンでは、sendmail.cf は /etc におくこと。 * メ−ルの配送モデル : Apollo での例 クライアント メ−ルサ−バ クライアント ------------ ------------ ------------ |USER katou| メ−ル |USER tomo | メ−ル |USER jiro | | | -------> | | -------> | | | hostA | | hostB | | hostC | ------------ ------------ ------------ /usr/spool/mqueue /usr/spool/mqueue /usr/spool/mqueue /usr/spool/mail/katou /usr/spool/mail/tomo /usr/spool/mail/jiro /usr/lib/aliases ------------------------- |postmaster:root |MAILER-DAEMON:postmaster /usr/spool/mail/root * hostA から hostC にメ−ルを送る正常な場合 送る側のメ−ルキュ−にメ−ルが入る hostA:/usr/spool/mqueue ↓ メ−ルサ−バのメ−ルキュ−にメ−ルが入る hostB:/usr/spool/mqueue ↓ 受ける側のメ−ルキュ−にメ−ルが来る hostC:/usr/spool/mqueue ↓ 最初はメ−ルボックスはない hostC:/usr/spool/mail/ ↓ メ−ルが来るとメ−ルボックスができる hostC:/usr/spool/mail/jiro ↓ メ−ルを読むとメ−ルボックスは空になる hostC:/usr/spool/mail/ ↓ メ−ルを読む時にセ−ブ指定するとユ−ザ のメ−ルボックスにメ−ルが保存される hostC:~/mbox << ただのファイル。 * 個人のメ−ルの管理 出し損なったメ−ルが ~dead.letter か自分宛てのメ−ルとして /usr/spool/katou に残 る。~dead.letter はしょうがないので消去する。 自分宛てのメ−ルは mail コマンドで 読むか、ファイルを消去する。 * エラ−メ−ルの処置 ちゃんとメ−ルを送ったかのように見えても、実際にはメ−ルを出していない場合がある。 次のような aliases の場合、メ−ルサ−バ の hostB:/usr/spool/mail/root にエラ−メ −ルがたまる。From MAILER-DAEMON からのメ−ルが出る。mail コマンドでメ−ルを表示 しながら1個ずつ消すか、/usr/spool/mail/root ファイル自体を消去する。 /usr/lib/aliases ------------------------- |postmaster:root |MAILER-DAEMON:postmaster $ mail << メ−ルサ−バのホスト hostB に、root でロッグインして読む。 From MAILER-DAEMON Tue Dec 19 12:53:55 1995 | * 溜まっているメ−ルの処置 /usr/spool/mqueue に sendmail が送るメ−ルが一時的にたまる。配送されていないメ− ルがあるか調べるには mailq コマンドを使う。 そのホストで sendmail -bd -q15m と例 えばなっていると、15分毎に溜まっているメ−ルを吐き出そうとする。強制的に吐き出 すには /usr/lib/sendmail -q とやる。それでもメ−ルキュ−にメ−ルが残るようであれ ば、メ−ル自体が死んでいる。このようなファイルが残っていると、正常なメ−ル配送が できなくなる場合もある。適当に消去しておくこと。 $ /usr/ucb/mailq << mailq コマンドで、 まだ配送されていないメ−ルがリ Mail queue is empty ストできる。この場合は溜まっているのはない。 * メ−ルがたまった状態 $ /usr/ucb/Mail -v tomo << hostA から hostB の tomo さんと、hostC の jiro さ $ /usr/ucb/Mail -v jiro んにメ−ルを送る。 メ−ル送信をここでは失敗させる。 Subject: 111 hello jiro . EOT jiro... Connecting to hostB (tcp)... jiro... Deferred: Connection refused by hostB $ /usr/ucb/mailq << 2つメ−ルがたまった。 Mail Queue (2 requests) --QID-- --Size-- -----Q-Time----- ------------Sender/Recipient------------ AA01345 4 Wed Apr 9 13:00 katou (Deferred: Connection refused by hostB) tomo AA01349 4 Wed Apr 9 13:01 katou (Deferred: Connection refused by hostB) jiro $ ld /usr/spool/mqueue dfAA01345 qfAA01345 << この2つが tomo さんへのメ−ルキュ−情報。 dfAA01349 qfAA01349 << この2つが jiro さんへのメ−ルキュ−情報。 $ /usr/lib/sendmail -q << root でやること。強制的にメ−ルを吐き出す。 $ /usr/ucb/mailq << hostA のメ−ルキュ−は空になった。 Mail queue is empty << tomo さんには送った、jiro さんへの配送は失敗した。 hostB% cd /var/spool/mqueue; ls dfNAA00798 qfNAA00798 hostB% cat dfNAA00798 << dfXXX ファイルにはメ−ルの内容がある。 hello jiro hostB% mailq Mail Queue (1 request) NAA00798 4 Wed Apr 9 13:24 (Deferred: Connection refused by hostC) jiro@hostC * 溜まったメ−ルは最後どうなる メ−ルサ−バのデ−モンの sendmail -bd -q15m により、15分毎に溜まっているメ−ル を再送しようとする。配送先の相手メ−ルサ−バが止まっているとか、ホスト自体が止ま っているとかし再送できない場合、 自 sendmail.cf の OT5d とか Timeout.queuereturn というパラメ−タで設定された日数、再送し続ける。それでも駄目なら、メ−ルの送信者 に駄目でしたとメ−ルを送り返す(発信元がちゃんと存在する場合)。まるで郵便そのもの である。しかし一度こうした機能も、動きを実際に確かめておかないけないな。 # ps -ef | grep sendmail root 191 1 0 1月 28 ? 0:04 /usr/lib/sendmail -bd -q15m # grep OT /etc/sendmail.cf これは万能 sendmail.cfでの、日数の指示の仕方であ OT5d る。sendmail 8.8.5 でも万能 sendmail.cf は使えた。 # grep Time /etc/sendmail.cf sendmail 8.9.1 用に CFツ−ルで作った sendmail.cf O Timeout.queuereturn=5d でのデフォルト。Timeout.xxx オプションは他一杯。 (5) MIME 対応のメ−ル * MIME とは 電子メ−ルはこれまでただのテキストしか扱えなかった。それを画像や音声などマルチメ ディアを扱えるように拡張したのが、MIME( Mulipurpose Internet Mail Extension ) で ある。拡張のポイントは、電子メ−ルが7ビットの ASCII 文字しか扱えないため、 画像 などのバイナリデ−タを、ASCII に変換して対象に含めたことである。変換は base64 と いうアルゴリズムを使う。Macintosh では違った変換方式を使うことになっている。ちな みに日本語は ISO-2022-JP という7ビットのコ−ドに変換される。それと MIMEでは、こ のように1つのメ−ルに複数の内容を入れることができる。つまり1つの封書に、手紙に 絵や音も一緒に送ることができるのである。メ−ルのヘッダ−部も全部表示してみれば分 かるが、------=_NextPart_xx という区切りで1つの内容となっている。もう1つ、電子 メ−ルのフォ−マットはヘッダ−部とデ−タ部からなるが、ヘッダ−部の仕様も MIME で は拡張し、日本語を Subject: で記入できるようにしている。 Content-Type | フォ−マットの種類 -------------------------|---------------------------------- text/plain | ただのプレ−ンテキスト、日本語も text/html | HTML フォ−マット image/gif | 画像:GIF イメ−ジ image/jpeg | 画像:JPEG イメ−ジ audio/basic | 音声:μ-law フォ−マット audio/x-aiff | 音声:AIFF フォ−マット audio/x-wav | 音声:WAVE フォ−マット video/mpeg | 映像:MPEG フォ−マット video/quicktime | 映像:QuickTime フォ−マット video/x-msvideo | 映像:Windows の AVI フォ−マット application/postscript | PostScript フォ−マット application/octet-stream | その他バイナリのデ−タ何でも 他にも一杯あり [ MIME 対応のメ−ルソフト ] ucb mail など初期のメ−ルソフトは、MIME には対応していない。しかし metamail とい うソフトを間におくことにより対応可能になる。INDY の Zmail は最初から MIME に対応 している。Zmail を使えば、簡単に画像入りの電子メ−ルのメッセ−ジを作ったり読んだ りすることができる。しかし幾らメ−ルソフトを MIME 対応にしたところで、画像を含む メ−ルを画像として表示するには、表示するためのプログラムもなければならない。例え ばEWSでメ−ル添付の画像を表示するには、Ghostscript や xv といったビュ−アもイ ンスト−ルしておく必要がある。98年時点でも、EWSでのこの状況は変わっていない。 しかし、パソコン用のメ−ルソフトの改善は著しく、特に MIME を意識せずとも MIME 対 応になってきている。 * MIME 対応メ−ルソフト INDY Zmail の設定 % zmail -gui で起動し、MIME を扱えるように設定する。設定ファイルは下のようになっ た。~.zmailrc をエディタで編集してもよい。 ちなみに ~.zmlayout は GUI zmail のレ イアウトや見栄えを覚えておくファイルである。Zmail の設定などは、"3-7. イントラネ ットいろいろ" の[ 付録 ]にも書いておいた。 % ls -a ~/taro Mail dead.letter .zmailrc .zmlayout .zmailrc --------------------------------------------------------------- |set saved_by_version="Z-Mail (3.2.1 6apr95 MediaMail)" |unset warning |# 基本変数の設定 |set main_panes=status_bar,messages,folder,buttons,output |set message_panes=folder,headers,action_area,attachments,body | | |unretain 'From' 表示されるヘッダ |retain Content-Transfer-Encoding |retain Content-Type |retain Mime-Version |ignore Content-Type 無視されるヘッダ [ ビュ−アの設定:その1] INDY には元々 xpsview というビュ−アがある。ただしこれは日本語フォントの表示はで きない。そこで日本語も表示できる ghostview を使うようにする。 とりあえず xpsview を起動しようとすると ghostview が起動するように変更する。 % mv /usr/bin/X11/xpsview /usr/bin/X11/xpsview2 << 名前を変えておく。 % cp /usr/local/bin/ghostview /usr/local/bin/xpsview << コピ−しただけ。 [ ビュ−アの設定:その2] /etc/mailcap << 大元の制御ファイル ---------------------------------------------------- |application/postscript; /usr/bin/X11/xpsview %s; \ | description="PostScript Language" ↓ ユ−ザ独自の mailcap を設定する。こっちが優先される。 ~/.mailcap << ユ−ザの定義ファイル。必要な部分だけ定義すればよい。 -------------------------------------------------------- |application/postscript; /usr/local/bin/ghostview %s; \ | description="PostScript Language" * ucb mail で MIME を扱う ~/taro/.mailrc ↓この2行を記入する。taro でロッグイン。 --------------------------------------- |set PAGER=/usr/lib/Zmail/bin/metamail << metamail は Bellcore 研究所で作られた |set crt=1 ユ−ティリティの集まりである。 既存の メ−ルソフトから呼び出して使う。 イン スト−ルしたのは mm2.6.tar.Z。 % /usr/sbin/Mail Mail version SGI.940826. Type ? for help. "/var/mail/taro": 6 messages & 3 From: "cad kanri" Date: Tue, 16 Jan 1996 16:14:07 +0900 To: taro@nix.co.jj Content-Description: Postscript ここで y を入れると ghostview が 起動し、PostScript が表示される。 This message contains "PostScript Language". ↓ Do you want to view it using the 'xpsview' command (y/n) [y] ? * MIME の基本的な仕組み [ PostScript デ−タの例 ] メ−ルのメッセ−ジに PostScript の簡単なデ−タ(線分を4本だけ描くような)を入れ てみた。これはちゃんと MIME として認識した。 しかし %!PS-Adobe-2.0 EPSF-2.0 で始 まるちょっと長い EPS をテストしたところ、エラ−が出てしまった。 これは MIME で扱 うことができない ASCII テキストが入っていたからと思われる。MIME では base64 とい う変換を施して、特定のテキスト列にメ−ルのメッセ−ジを置き換えることになっている。 Zmail では例えばメッセ−ジに PostScript デ−タを入れようとすると、自動的にこの変 換が施されるようになっている。% zmail -gui とやり、PostScript の絵を見る。 $ /usr/ucb/mail -v taro@nix.co.jj Mime-version: 1.0 << ここ3行を手で記入した。 Content-Type: application/postscript << Content-Transfer-Encoding: quoted-printable << %! %%Creator:ncad %BoundingBox: 0 0 595.275591 841.889764 | showpage . 送られたメ−ルのままでは、ただの文字列として認識する。 メ−ルボックスの taro ファイルをちょっと修正する。 /var/mail/taro ----------------------------------------------- |From katou@nix.co.jj Tue Jan 16 11:53:02 1996 |Mime-version: 1.0 << ここに文字列 Mime-version を入れる。 | | |Content-Type: application/postscript << Mime- はここに挿入されていた。 |Content-Transfer-Encoding: quoted-printable |%! |%%Creator:ncad [ Macintosh のメ−ルから送ってきた画像 ] % cd /var/mail; ls -al -rw-rw---- 1 katou mail 213595 -- katou ↑ katou@nix.co.jj 宛のメ−ルは、この1つのファイルにどんどんため込んでいく。 Zmail でもただの mail コマンドでも、このファイルを読む。Zmail なんかでは画像などの添付 ファイルは別に表示されるので、別ファイルになっているかのような印象を受けるが違う。 % more katou | --============_-1308158512==_============ Content-Type: image/jpeg; name="photo.jpg" << JPEG の写真画像を添付してきた。 ; x-mac-type="4A504547" ; x-mac-creator="3842494D" Content-Disposition: attachment; filename="photo.jpg" base64 で ASCII コ−ド Content-Transfer-Encoding: base64 にエンコ−ドしている。 ↓ /9j/4AAQSkZJRgABAgEAyADIAAD/7QG4UGhvdG9zaG9wIDMuMAA4QklNA+kAAAAAAHgA KAAAAEgASAAAAAADGAJB//f/9wNAAkogAgV7A+AAAAAAAWgBaAAAAAAPeAtFAWwAMgtF RxgAUAABAQEAAAABJw8AAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBkAAAAAAAAAAAA AJChBAAhAAAAAAAAADVDVyA4QklNA+0AAAAAABAAyAAAAAEAAgDIAAAAAQACOEJJTQPz | * Netscape Communicator 4.78 でのこと `24/06 PowerPoint のファイルを添付したメ−ル Netscape Messenger にて -------------------------------------------------------------------------------- | Subject: Test Desu | | From: かとう | | To: katou@nix.co.jj | | 本文空 | |------------------------------------------------------------------------------| | | Name: test.ppt | | test.ppt| Type: Microsoft PowerPoint Show (application/vnd.ms-powerpoint) | | |Encoding:base64 | -------------------------------------------------------------------------------- 正常の場合は上のようになる。添付ファイルの所をマウスでクリックすると、PowerPoint が起動して表示される。それが添付の PowerPoint のファイル名が化けるかして "Type : タイプ未指定 (application/oct-stream)" となっていると、 クリックしても反応しなく なってしまう。下記で確認しているように MIME タイプの対応がくずれてしまったのかと 思ったりしたが違う。ファイル名が化けて、拡張子は .ppt と出ていても PowerPoint の ファイルとは認識できないようである。 多分 Outlook Express にでも送信し直せば文字 化けもなくなり認識するのかも知れない。小生、メ−ルは INDY でも受けるようにしてい る。そちらで添付ファイルだけセ−ブして、パソコンにもってきて PowerPoint 自体を起 動し開くことでとりあえず対処した。 [設定]->[Navigator]->[アプリケ−ション] を開いて MIME タイプを確認してみる。 ----------------------------------------------- | タイプの編集 |---------------------------------------------- | Microsoft PowerPoint Show | -------------------------------------------- | 拡張子 PPT POT PPA PPS PWZ | すでに自動的に使うアプリ | MIMEタイプ [application/vnd.ms-powerpoint] ケ−ションのプログラムが | 設定、書かれている。自分 | 動作 で好きなのに変更ができる。 | ○ディスクに保存 ↓ | ◎アプリケ−ション ["C:\Program Files\Microsoft Office\Office\ | powerpnt.exe" "%1"] | [OK] [キャンセル] --------------------------------------------------------------------------------